package com.vf.common.utils;

import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSONObject;

import java.util.HashMap;

/**
 * @author : 10957
 * @version : v1.0.0
 * @deprecated : 腾讯地图逆地理解析地址
 **/
public class LocalUtil {

    private static final String KEY = "UFOBZ-EQZW7-GLBXV-PYVJ2-BNMP7-E5FP6";

    public static String GetLocationByAddress(String longitude, String latitude) {
    System.out.println("地理编码：longitude=" + longitude + "，latitude=" + latitude);
    try {
        // 创建请求参数
        HashMap<String, Object> parameters = new HashMap<>();
        parameters.put("location", latitude + "," + longitude);
        parameters.put("key", KEY); // KEY 应该是腾讯地图 API 的密钥

        // 调用腾讯地图逆地理编码 API
        String response = HttpUtil.get("https://apis.map.qq.com/ws/geocoder/v1/", parameters);
        System.out.println(response);

        // 解析 API 响应结果
        JSONObject responseJson = JSONObject.parseObject(response);
        if (responseJson == null) {
            System.err.println("列表信息获取失败，关键字：" + longitude + "，纬度：" + latitude);
            return null;
        }

        // 检查 API 调用状态
        String status = responseJson.getString("status");
        if (!"0".equals(status)) {
            System.err.println("API 调用失败，错误码：" + status + "，关键字：" + longitude + "，纬度：" + latitude);
            return null;
        }

        // 解析地理位置数据
        JSONObject result = responseJson.getJSONObject("result");
        if (result == null) {
            System.err.println("未找到位置信息，关键字：" + longitude + "，纬度：" + latitude);
            return null;
        }

        // 返回详细地址
        return result.getString("address");
    } catch (Exception ex) {
        System.err.println("调用接口失败！" + ex.getMessage());
        return null;
    }
}

}
